home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / Xm / XmCascadeButtonGadget.z / XmCascadeButtonGadget
Text File  |  1998-10-30  |  33KB  |  463 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt - The CascadeButtonGadget widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           #include <Xm/CascadeBG.h>
  13.  
  14.      VVVVEEEERRRRSSSSIIIIOOOONNNN
  15.           This page documents Motif 2.1.
  16.  
  17.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.           CascadeButtonGadget links two menu panes, a MenuBar to a
  19.           menu pane, or an OptionMenu to a menu pane.
  20.  
  21.           It is used in menu systems and must have a RowColumn parent
  22.           with its XXXXmmmmNNNNrrrroooowwwwCCCCoooolllluuuummmmnnnnTTTTyyyyppppeeee resource set to XXXXmmmmMMMMEEEENNNNUUUU____BBBBAAAARRRR,
  23.           XXXXmmmmMMMMEEEENNNNUUUU____PPPPOOOOPPPPUUUUPPPP, XXXXmmmmMMMMEEEENNNNUUUU____PPPPUUUULLLLLLLLDDDDOOOOWWWWNNNN, or XXXXmmmmMMMMEEEENNNNUUUU____OOOOPPPPTTTTIIIIOOOONNNN.
  24.  
  25.           It is the only gadget that can have a Pulldown menu pane
  26.           attached to it as a submenu. The submenu is displayed when
  27.           this gadget is activated within a PopupMenu, a PulldownMenu,
  28.           or an OptionMenu. Its visuals can include a label or pixmap
  29.           and a cascading indicator when it is in a Popup or Pulldown
  30.           menu pane; or it can include only a label or a pixmap when
  31.           it is in an OptionMenu.  The positioning of the PulldownMenu
  32.           with respect to the CascadeButton depends on the
  33.           XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn resource of the MenuShell.
  34.  
  35.           The default behavior associated with a CascadeButtonGadget
  36.           depends on the type of menu system in which it resides.  By
  37.           default, BBBBSSSSeeeelllleeeecccctttt controls the behavior of the
  38.           CascadeButtonGadget.  In addition, BBBBMMMMeeeennnnuuuu controls the
  39.           behavior of the CascadeButtonGadget if it resides in a
  40.           PopupMenu system.  The actual mouse button used is
  41.           determined by its RowColumn parent.  BBBBMMMMeeeennnnuuuu also performs the
  42.           BBBBSSSSeeeelllleeeecccctttt actions in all types of menu systems.
  43.  
  44.           A CascadeButtonGadget's visuals differ from most other
  45.           button gadgets. When the button becomes armed, its visuals
  46.           change from a 2-D to a 3-D look, and it displays the submenu
  47.           that has been attached to it. If no submenu is attached, it
  48.           simply changes its visuals.
  49.  
  50.           When a CascadeButtonGadget within a Pulldown or Popup menu
  51.           pane is armed as the result of the user moving the mouse
  52.           pointer into the gadget, it does not immediately display its
  53.           submenu. Instead, it waits a short time to see if the arming
  54.           was temporary (that is, the user was simply passing through
  55.           the gadget), or the user really wanted the submenu posted.
  56.           This delay is configurable using XXXXmmmmNNNNmmmmaaaappppppppiiiinnnnggggDDDDeeeellllaaaayyyy.
  57.  
  58.           CascadeButtonGadget provides a single mechanism for
  59.           activating the gadget from the keyboard. This mechanism is
  60.  
  61.  
  62.  
  63.      Page 1                                         (printed 10/24/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  71.  
  72.  
  73.  
  74.           referred to as a keyboard mnemonic.  If a mnemonic has been
  75.           specified for the gadget, the user may activate it by simply
  76.           typing the mnemonic while the CascadeButtonGadget is
  77.           visible.  If the CascadeButtonGadget is in a MenuBar and the
  78.           MenuBar does not have focus, the MMMMAAAAlllltttt modifier must be
  79.           pressed with the mnemonic.  Mnemonics are typically used to
  80.           interact with a menu using the keyboard.
  81.  
  82.           If a CascadeButtonGadget is in a Pulldown or Popup menu pane
  83.           and there is a submenu attached, the XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnBBBBoooottttttttoooommmm,
  84.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnLLLLeeeefffftttt, XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnRRRRiiiigggghhhhtttt, and XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnTTTTooooppppresources may
  85.           enlarge to accommodate XXXXmmmmNNNNccccaaaassssccccaaaaddddeeeePPPPiiiixxxxmmmmaaaapppp.  XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnWWWWiiiiddddtttthhhh
  86.           defaults to 6 if this resource is in a MenuBar; otherwise,
  87.           it takes LabelGadget's default, which is 2.
  88.  
  89.           CascadeButtonGadget uses the _X_m_Q_T_m_e_n_u_S_y_s_t_e_m and
  90.           _X_m_Q_T_s_p_e_c_i_f_y_R_e_n_d_e_r_T_a_b_l_e traits.
  91.  
  92.         CCCCllllaaaasssssssseeeessss
  93.           CascadeButtonGadget inherits behavior, resources, and traits
  94.           from the OOOObbbbjjjjeeeecccctttt, RRRReeeeccccttttOOOObbbbjjjj, XXXXmmmmGGGGaaaaddddggggeeeetttt, and XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt
  95.           classes.
  96.  
  97.           The class pointer is _x_m_C_a_s_c_a_d_e_B_u_t_t_o_n_G_a_d_g_e_t_C_l_a_s_s.
  98.  
  99.           The class name is XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt.
  100.  
  101.         NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  102.           The following table defines a set of widget resources used
  103.           by the programmer to specify data. The programmer can also
  104.           set the resource values for the inherited classes to set
  105.           attributes for this widget. To reference a resource by name
  106.           or by class in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove the XXXXmmmmNNNN or XXXXmmmmCCCC
  107.           prefix and use the remaining letters. To specify one of the
  108.           defined values for a resource in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove
  109.           the XXXXmmmm prefix and use the remaining letters (in either
  110.           lowercase or uppercase, but include any underscores between
  111.           words).  The codes in the access column indicate if the
  112.           given resource can be set at creation time (C), set by using
  113.           XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (S), retrieved by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss (G), or is
  114.           not applicable (N/A).
  115.  
  116.                                     XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt
  117.           NNNNaaaammmmeeee                   CCCCllllaaaassssssss             TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  118.           XmNactivateCallback    XmCCallback       XtCallbackList   NULL      C
  119.           XmNcascadePixmap       XmCPixmap         Pixmap           dynamic   CSG
  120.           XmNcascadingCallback   XmCCallback       XtCallbackList   NULL      C
  121.           XmNmappingDelay        XmCMappingDelay   int              180 ms    CSG
  122.           XmNsubMenuId           XmCMenuWidget     Widget           NULL      CSG
  123.  
  124.           XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk
  125.                     Specifies the list of callbacks that is called
  126.  
  127.  
  128.  
  129.      Page 2                                         (printed 10/24/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  137.  
  138.  
  139.  
  140.                     when the user activates the CascadeButtonGadget,
  141.                     and there is no submenu attached to pop up. The
  142.                     activation occurs when a mouse button is released
  143.                     or when the mnemonic associated with the gadget is
  144.                     typed. The specific mouse button depends on
  145.                     information in the RowColumn parent. The reason
  146.                     sent by the callback is XXXXmmmmCCCCRRRR____AAAACCCCTTTTIIIIVVVVAAAATTTTEEEE.
  147.  
  148.           XXXXmmmmNNNNccccaaaassssccccaaaaddddeeeePPPPiiiixxxxmmmmaaaapppp
  149.                     Specifies the cascade pixmap displayed on one end
  150.                     of the gadget when a CascadeButtonGadget is used
  151.                     within a Popup or Pulldown menu pane and a submenu
  152.                     is attached.  The LabelGadget class resources
  153.                     XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnBBBBoooottttttttoooommmm, XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnLLLLeeeefffftttt, XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnRRRRiiiigggghhhhtttt,
  154.                     and XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnTTTToooopppp may be modified to ensure that
  155.                     room is left for the cascade pixmap.  The default
  156.                     cascade pixmap in menus other than option menus is
  157.                     an arrow pointing to the side of the menu where
  158.                     the submenu will appear.  The default for the
  159.                     CascadeButtonGadget in an option menu is
  160.                     XXXXmmmmUUUUNNNNSSSSPPPPEEEECCCCIIIIFFFFIIIIEEEEDDDD____PPPPIIIIXXXXMMMMAAAAPPPP.
  161.  
  162.                     The positioning of the cascade pixmap to either
  163.                     the left of right of the widget, and the direction
  164.                     of the arrow, depend on the XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn
  165.                     resource of the MenuShell.
  166.  
  167.           XXXXmmmmNNNNccccaaaassssccccaaaaddddiiiinnnnggggCCCCaaaallllllllbbbbaaaacccckkkk
  168.                     Specifies the list of callbacks that is called
  169.                     just prior to the mapping of the submenu
  170.                     associated with the CascadeButtonGadget. The
  171.                     reason sent by the callback is XXXXmmmmCCCCRRRR____CCCCAAAASSSSCCCCAAAADDDDIIIINNNNGGGG.
  172.  
  173.           XXXXmmmmNNNNmmmmaaaappppppppiiiinnnnggggDDDDeeeellllaaaayyyy
  174.                     Specifies the amount of time, in milliseconds,
  175.                     between when a CascadeButtonGadget becomes armed
  176.                     and when it maps its submenu. This delay is used
  177.                     only when the gadget is within a Popup or Pulldown
  178.                     menu pane.  The value must not be negative.
  179.  
  180.           XXXXmmmmNNNNssssuuuubbbbMMMMeeeennnnuuuuIIIIdddd
  181.                     Specifies the widget ID for the Pulldown menu pane
  182.                     to be associated with this CascadeButtonGadget.
  183.                     The specified menu pane is displayed when the
  184.                     CascadeButtonGadget becomes armed. The menu pane
  185.                     must have been created with the appropriate
  186.                     parentage depending on the type of menu used. See
  187.                     XXXXmmmmCCCCrrrreeeeaaaatttteeeePPPPuuuullllllllddddoooowwwwnnnnMMMMeeeennnnuuuu(3), XXXXmmmmCCCCrrrreeeeaaaatttteeeePPPPooooppppuuuuppppMMMMeeeennnnuuuu(3), and
  188.                     XXXXmmmmCCCCrrrreeeeaaaatttteeeeOOOOppppttttiiiioooonnnnMMMMeeeennnnuuuu(3) for more information on the
  189.                     menu systems.
  190.  
  191.         IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  192.  
  193.  
  194.  
  195.      PPPPaaaaggggeeee 3333                                         ((((pppprrrriiiinnnntttteeeedddd 11110000////22224444////99998888))))
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  203.  
  204.  
  205.  
  206.           CascadeButtonGadget inherits behavior and resources from the
  207.           superclasses described in the following tables.  For a
  208.           complete description of each resource, refer to the
  209.           reference page for that superclass.
  210.  
  211.                                                  XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  212.           NNNNaaaammmmeeee                        CCCCllllaaaassssssss                       TTTTyyyyppppeeee                DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  213.           XmNaccelerator              XmCAccelerator              String              NULL                   N/A
  214.           XmNacceleratorText          XmCAcceleratorText          XmString            NULL                   N/A
  215.           XmNalignment                XmCAlignment                unsigned char       dynamic                CSG
  216.           XmNfontList                 XmCFontList                 XmFontList          dynamic                CSG
  217.           XmNlabelInsensitivePixmap   XmCLabelInsensitivePixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
  218.           XmNlabelPixmap              XmCLabelPixmap              Pixmap              XmUNSPECIFIED_PIXMAP   CSG
  219.           XmNlabelString              XmCXmString                 XmString            dynamic                CSG
  220.           XmNlabelType                XmCLabelType                unsigned char       XmSTRING               CSG
  221.           XmNmarginBottom             XmCMarginBottom             Dimension           dynamic                CSG
  222.           XmNmarginHeight             XmCMarginHeight             Dimension           2                      CSG
  223.           XmNmarginLeft               XmCMarginLeft               Dimension           0                      CSG
  224.           XmNmarginRight              XmCMarginRight              Dimension           dynamic                CSG
  225.           XmNmarginTop                XmCMarginTop                Dimension           dynamic                CSG
  226.           XmNmarginWidth              XmCMarginWidth              Dimension           dynamic                CSG
  227.           XmNmnemonic                 XmCMnemonic                 KeySym              NULL                   CSG
  228.           XmNmnemonicCharSet          XmCMnemonicCharSet          String              dynamic                CSG
  229.           XmNrecomputeSize            XmCRecomputeSize            Boolean             True                   CSG
  230.           XmNrenderTable              XmCRenderTable              XmRenderTable       dynamic                CSG
  231.           XmNstringDirection          XmCStringDirection          XmStringDirection   dynamic                CSG
  232.  
  233.                                                XXXXmmmmGGGGaaaaddddggggeeeetttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  234.           NNNNaaaammmmeeee                    CCCCllllaaaassssssss                   TTTTyyyyppppeeee               DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  235.           XmNbackground           XmCBackground           Pixel              dynamic                CSG
  236.           XmNbackgroundPixmap     XmCPixmap               Pixmap             XmUNSPECIFIED_PIXMAP   CSG
  237.           XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic                CSG
  238.           XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap             dynamic                CSG
  239.           XmNhelpCallback         XmCCallback             XtCallbackList     NULL                   C
  240.           XmNforeground           XmCForeground           Pixel              dynamic                CSG
  241.           XmNhighlightColor       XmCHighlightColor       Pixel              dynamic                CSG
  242.           XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False                  CSG
  243.           XmNhighlightPixmap      XmCHighlightPixmap      Pixmap             dynamic                CSG
  244.           XmNhighlightThickness   XmCHighlightThickness   Dimension          0                      CSG
  245.           XmNlayoutDirection      XmNCLayoutDirection     XmDirection        dynamic                CG
  246.           XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE                 CSG
  247.           XmNshadowThickness      XmCShadowThickness      Dimension          2                      CSG
  248.           XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic                CSG
  249.           XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap             dynamic                CSG
  250.           XmNtraversalOn          XmCTraversalOn          Boolean            True                   CSG
  251.           XmNunitType             XmCUnitType             unsigned char      dynamic                CSG
  252.           XmNuserData             XmCUserData             XtPointer          NULL                   CSG
  253.  
  254.                                   RRRReeeeccccttttOOOObbbbjjjj RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  255.           NNNNaaaammmmeeee                   CCCCllllaaaassssssss            TTTTyyyyppppeeee        DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  256.  
  257.  
  258.  
  259.  
  260.  
  261.      Page 4                                         (printed 10/24/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  269.  
  270.  
  271.  
  272.           XmNancestorSensitive   XmCSensitive     Boolean     dynamic   G
  273.           XmNborderWidth         XmCBorderWidth   Dimension   0         N/A
  274.           XmNheight              XmCHeight        Dimension   dynamic   CSG
  275.           XmNsensitive           XmCSensitive     Boolean     True      CSG
  276.           XmNwidth               XmCWidth         Dimension   dynamic   CSG
  277.           XmNx                   XmCPosition      Position    0         CSG
  278.           XmNy                   XmCPosition      Position    0         CSG
  279.  
  280.                                   OOOObbbbjjjjeeeecccctttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  281.           NNNNaaaammmmeeee                 CCCCllllaaaassssssss         TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  282.           XmNdestroyCallback   XmCCallback   XtCallbackList   NULL      C
  283.  
  284.         CCCCaaaallllllllbbbbaaaacccckkkk IIIInnnnffffoooorrrrmmmmaaaattttiiiioooonnnn
  285.           A pointer to the following structure is passed to each
  286.           callback:
  287.  
  288.           typedef struct
  289.           {
  290.                   int _r_e_a_s_o_n;
  291.                   XEvent * _e_v_e_n_t;
  292.           } XmAnyCallbackStruct;
  293.  
  294.           _r_e_a_s_o_n    Indicates why the callback was invoked
  295.  
  296.           _e_v_e_n_t     Points to the _X_E_v_e_n_t that triggered the callback
  297.                     or is NULL if this callback was not triggered by
  298.                     an _X_E_v_e_n_t
  299.  
  300.         BBBBeeeehhhhaaaavvvviiiioooorrrr
  301.           XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt includes behavior from XXXXmmmmGGGGaaaaddddggggeeeetttt.
  302.           XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnn includes the menu traversal behavior from
  303.           XXXXmmmmLLLLaaaabbbbeeeellll.  Additional XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt behavior is
  304.           described in the following list (in a Popup menu system,
  305.           <<<<BBBBttttnnnn3333>>>> also performs the <<<<BBBBttttnnnn1111>>>> actions).
  306.  
  307.           <<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>>:
  308.                     Unposts any menus posted by the parent menu.  Arms
  309.                     the CascadeButtonGadget, posts the associated
  310.                     submenu, enables mouse traversal, and, in a
  311.                     MenuBar, arms the MenuBar.  If the menu is already
  312.                     active, this event disables keyboard traversal for
  313.                     the menu and returns the menu to mouse traversal
  314.                     mode.
  315.  
  316.           <<<<BBBBttttnnnn1111UUUUpppp>>>>: Calls the callbacks in XXXXmmmmNNNNccccaaaassssccccaaaaddddiiiinnnnggggCCCCaaaallllllllbbbbaaaacccckkkk, posts
  317.                     the submenu attached to the CascadeButtonGadget
  318.                     and enables keyboard traversal within the menu.
  319.                     If the CascadeButtonGadget does not have a submenu
  320.                     attached, this action calls the callbacks in
  321.                     XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk, activates the
  322.                     CascadeButtonGadget, and unposts all posted menus
  323.                     in the cascade.
  324.  
  325.  
  326.  
  327.      Page 5                                         (printed 10/24/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  335.  
  336.  
  337.  
  338.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>>:
  339.                     Calls the callbacks in XXXXmmmmNNNNccccaaaassssccccaaaaddddiiiinnnnggggCCCCaaaallllllllbbbbaaaacccckkkk, and
  340.                     posts the submenu attached to the
  341.                     CascadeButtonGadget if keyboard traversal is
  342.                     enabled in the menu.  If the CascadeButtonGadget
  343.                     does not have a submenu attached, this action
  344.                     calls the callbacks in XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk,
  345.                     activates the CascadeButtonGadget, and unposts all
  346.                     posted menus in the cascade.  This action applies
  347.                     only to gadgets in MenuBars, PulldownMenus, and
  348.                     PopupMenus. For a CascadeButtonGadget in an
  349.                     OptionMenu, if the parent is a manager, this
  350.                     action passes the event to the parent.
  351.  
  352.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffSSSSeeeelllleeeecccctttt>>>>:
  353.                     Calls the callbacks in XXXXmmmmNNNNccccaaaassssccccaaaaddddiiiinnnnggggCCCCaaaallllllllbbbbaaaacccckkkk, and
  354.                     posts the submenu attached to the
  355.                     CascadeButtonGadget if keyboard traversal is
  356.                     enabled in the menu.  If the CascadeButtonGadget
  357.                     does not have a submenu attached, this action
  358.                     calls the callbacks in XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk,
  359.                     activates the CascadeButtonGadget, and unposts all
  360.                     posted menus in the cascade.
  361.  
  362.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffHHHHeeeellllpppp>>>>:
  363.                     Unposts all menus in the menu hierarchy and, when
  364.                     the shell's keyboard focus policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT,
  365.                     restores keyboard focus to the widget that had the
  366.                     focus before the menu system was entered.  Calls
  367.                     the callbacks for XXXXmmmmNNNNhhhheeeellllppppCCCCaaaallllllllbbbbaaaacccckkkk if any exist.
  368.                     If there are no help callbacks for this widget,
  369.                     this action calls the help callbacks for the
  370.                     nearest ancestor that has them.
  371.  
  372.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffCCCCaaaannnncccceeeellll>>>>:
  373.                     In a MenuBar, disarms the CascadeButtonGadget and
  374.                     the menu and, when the shell's keyboard focus
  375.                     policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT, restores keyboard focus to
  376.                     the widget that had the focus before the menu was
  377.                     entered.  For a CascadeButtonGadget in an
  378.                     OptionMenu, if the parent is a manager, this
  379.                     action passes the event to the parent.
  380.  
  381.                     In a toplevel Pulldown MenuPane from a MenuBar,
  382.                     unposts the menu, disarms the MenuBar
  383.                     CascadeButton and the MenuBar, and, when the
  384.                     shell's keyboard focus policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT,
  385.                     restores keyboard focus to the widget that had the
  386.                     focus before the MenuBar was entered.  In other
  387.                     Pulldown MenuPanes, unposts the menu.
  388.  
  389.                     In a Popup MenuPane, unposts the menu and restores
  390.  
  391.  
  392.  
  393.      Page 6                                         (printed 10/24/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  401.  
  402.  
  403.  
  404.                     keyboard focus to the widget from which the menu
  405.                     was posted.
  406.  
  407.           <<<<EEEEnnnntttteeeerrrr>>>>:  If keyboard traversal is enabled does nothing.
  408.                     Otherwise, in a MenuBar, unposts any MenuPanes
  409.                     associated with another MenuBar entry, arms the
  410.                     CascadeButtonGadget, and posts the associated
  411.                     submenu.  In other menus, arms the
  412.                     CascadeButtonGadget and posts the associated
  413.                     submenu after the delay specified by
  414.                     XXXXmmmmNNNNmmmmaaaappppppppiiiinnnnggggDDDDeeeellllaaaayyyy.
  415.  
  416.           <<<<LLLLeeeeaaaavvvveeee>>>>:  If keyboard traversal is enabled does nothing.
  417.                     Otherwise, in a MenuBar, disarms the
  418.                     CascadeButtonGadget if the submenu associated with
  419.                     the CascadeButtonGadget is not currently posted or
  420.                     if there is no submenu associated with the
  421.                     CascadeButtonGadget.
  422.  
  423.                     In other menus, if the pointer moves anywhere
  424.                     except into a submenu associated with the
  425.                     CascadeButtonGadget, the CascadeButtonGadget is
  426.                     disarmed and its submenu is unposted.
  427.  
  428.         VVVViiiirrrrttttuuuuaaaallll BBBBiiiinnnnddddiiiinnnnggggssss
  429.           The bindings for virtual keys are vendor specific.  For
  430.           information about bindings for virtual buttons and keys, see
  431.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss(3).
  432.  
  433.      RRRREEEELLLLAAAATTTTEEEEDDDD
  434.           OOOObbbbjjjjeeeecccctttt(3), RRRReeeeccccttttOOOObbbbjjjj(3), XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnHHHHiiiigggghhhhlllliiiigggghhhhtttt(3),
  435.           XXXXmmmmCCCCrrrreeeeaaaatttteeeeCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt(3), XXXXmmmmCCCCrrrreeeeaaaatttteeeePPPPuuuullllllllddddoooowwwwnnnnMMMMeeeennnnuuuu(3),
  436.           XXXXmmmmCCCCrrrreeeeaaaatttteeeePPPPooooppppuuuuppppMMMMeeeennnnuuuu(3), XXXXmmmmCCCCrrrreeeeaaaatttteeeeOOOOppppttttiiiioooonnnnMMMMeeeennnnuuuu(3), XXXXmmmmGGGGaaaaddddggggeeeetttt(3),
  437.           XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt(3), and XXXXmmmmRRRRoooowwwwCCCCoooolllluuuummmmnnnn(3).
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.      Page 7                                         (printed 10/24/98)
  460.  
  461.  
  462.  
  463.